package main

import "fmt"

/*
1、常量类型只可以定义bool,数值(整数,浮点数,复数),字符串
2、定义了可以不使用
3、显式定义时，赋值的值和指定的类型保持一致
*/

func main() {
	/*定义普通常量，在定时指定值，并后面不能修改值，产量尽量大写，关键字：const*/

	// 1、定义单个常量
	const PI float32 = 3.141592653589793 // 该方式和变量一样，叫做显式定义
	const PI1 = 3.141592653589793        // 该方式和变量一样，叫做隐式定义
	fmt.Println("PI的值是:", PI)

	// 2、定义多个常量
	const (
		PI2   = 3
		name1 = "jiang"
		k     = false
	)
	fmt.Println("name1:", name1, "k:", k)
	// 3、常量的值和类型的继承，在定义多个变量的时候会出现，在没有声明值和类型的时候常量继承上面一个的值和类型
	const (
		x int    = 16
		y        // 在这里定义了y但是没有赋值和声明类型，它会继承上面一个的值和类型
		s string = "abc"
		z
	)
	fmt.Println(x, y, s, z)

	// 4、多个常量的另外的定义方式
	const name, age11 = "jiang", 30
	fmt.Println(name, age11)
}
